Build Bigger Than Ever Before

KingsLanding

When we released voxel terrain in 2011, we realized that creators had to adhere to a narrowly defined set of rules. As with any major release, we kept a steady ear to the ground and gathered as much feedback as possible to determine how to improve the feature make it a more viable and enjoyable tool for building. Though we’ll be updating the overall “look” or our terrain the coming months, infrastructural changes first had to be made to broaden the scope of terrain capabilities. We distilled your feedback into three significant improvements, each of which we’ve been working to address.

Continue reading
     
 

New Material Textures Are Now Live

Temple of the Sea (Marble)ROBLOX’s streak of fantastic rendering updates goes yet another step further today with the release of updated material textures and a starter-pack of brand new options. The updated and new textures increment the visual quality of all games on all the platforms (desktop and mobile) we support, while simultaneously giving you more flexibility to build perfectly engrossing worlds and levels.

We’ve been carefully listening to your feedback as we’ve changed the look of ROBLOX over the last six months. For instance, we prioritized the development of dynamic shadows in our lighting engine and gave you full control over the appearance of outlines. While we’re not giving you the option to toggle new materials on and off, we’d like to hear your constructive criticism, success stories and requests for additional materials. If we notice many people sharing an opinion, we may tweak or add the material in question. The best way for you to make your case is to upload and share screenshots — whether the materials make something you’ve built look exceptional or flawed.

Continue reading
     
 

Dynamic Lights Now Support Shadows

Ever since the release of dynamic lighting last spring, our gamers, builders and developers have united in requesting that objects blocking SpotLights and PointLights – in addition to sunlight – cast shadows. We received so many requests for this unarguably intuitive improvement that we prioritized it in our development pipeline and pushed it to production as quickly as possible. While it’s a simple advancement on the surface, the Rendering Team poured significant time into making it happen without a hit to your performance.

Continue reading
     
 

New Font Engine Makes GUI Text Clearer Than Ever

spritesheetWe recently updated our font engine to make it easier for developers to create high-quality GUIs with legible and sharp text, and implement them in their games. Our previous font engine code was very limited–only two text sizes rendered without extra scaling, so the majority of text looked slightly out of focus. Rendering Engineer Arseny Kapoulkine explains these changes, and what you can do to utilize them.

What’s New

ROBLOX’s updated font engine is more robust, both in Studio, and in game. Join any game that you love playing and take a look at the letters in the text of any GUI–they are sharper and easier to read. That’s because we’ve upped the number of natively rendered font sizes from two to six. Other sizes will still be scaled during rendering and appear blurry–keep reading for guidelines on maintaining crisp text.

Along with six native font sizes, our font engine now performs kerning, which is a process that adjusts spacing between characters. This makes long sections of text more readable as letters are properly spaced based on the width, length, and shape of each character.

Continue reading
     
 

Binary File Format Cuts Studio Load, Save and Upload Times

Binary CityThree months back, we announced our transition toward a binary file format and explained how the technology has achieved a 100x reduction in the file size of ROBLOX places and a 5-10x reduction in load/save time. We have been rolling out the new format transparently and carefully, starting with the temporary files created for “Play Solo” and “Start Server” sessions in ROBLOX Studio. This week, we finished applying the format to all of ROBLOX, including Personal Build Server saves, and local place saves, loads and uploads via ROBLOX Studio.

You can look back at our original tech article about the binary file format to understand how re-arranging data makes it work and see the results of a couple tests we ran to prove its efficacy. If you’re the anecdotal type, however, you can simply experience it for yourself by loading and saving places in ROBLOX Studio, looking at the reduction in local file sizes, and uploading content to ROBLOX.com. In general, you should notice that files are smaller and saving/loading/uploading is faster – especially when you’re working with a place built out of tens of thousands of parts.

Continue reading
     
 

Dynamically Lighting ROBLOX Mobile

ipadlightingYou’ve probably noticed by now that the lights are on in ROBLOX Mobile. As with many significant rendering updates, getting dynamic lighting to illuminate iPhone and iPad screens was a tricky endeavor that brought our engineers face to face with some very specific technical hurdles. We got the chance to sit down with Graphics and Rendering Specialist Arseny Kapoulkine to get the scoop on porting dynamic lighting to mobile devices.

Shaders

To understand how we pulled this off, let’s start simple. Computers that can support dynamic lighting (about 97% of the computers running ROBLOX) are able to do so by utilizing shaders built into their graphics card. So our first question was, “will we be able to utilize the graphics technology bundled into iPhones and iPads to utilize shaders?” Lucky for us, iPads and iPhones 4 and higher have shader support baked in.

Continue reading
     
 

Condense and Compress: Our Custom Binary File Format

Binary CityThink about the performance improvements and rendering features we’ve brought to ROBLOX in the last year. Among them are featherweight parts, fast clusters, efficient collision detection and dynamic lighting. These improvements have crushed the limits – on part count, physics simulation and aesthetic flexibility – builders once encountered and opened doors to a world of possibilities. They’ve also exposed new limits as builders have pushed the boundaries further than ever. In this article, we’ll explain how we’ve achieved an approximately 100x reduction in the file size of ROBLOX places and a 5-10x reduction in load/save time.

Think about featherweight parts. The feature, which now applies to all ROBLOX parts (as opposed to only select shapes and materials), allows you to create a ROBLOX place with tens of thousands of bricks, and have it run on both desktop and mobile devices. However, a place with tens of thousands of parts can result in a very large file. Our test place, which we’ll reference throughout this article, has 50,000 parts and weighs in at a whopping 230 megabytes. That’s big enough to affect builders in multiple ways: rendering, saving/loading, publishing, loading the place from a server and more.

Continue reading